import control    #pip install control
import matplotlib.pyplot as plt
import math
import numpy as np
# 创建时间向量
t = np.linspace(0, 10, 1000)
# 单位阶跃输入 u(t): 对于所有 t >= 0, u(t) = 1
u = np.ones_like(t)
K = 2  # 比例系数
T_int = 0.5  # 积分时间常数
sys = control.tf([K * T_int, K], [T_int, 0])  # 系统
# 计算阶跃响应
T, yout= control.forced_response(sys, T=t, U=u)
# 绘制结果
plt.figure()
plt.title("Simulation")  # 设置图表标题
plt.plot(T, yout, label="System Response (K=%.1f T_int=%.1f)" % (K,T_int))  # 绘制系统响应
# 绘制输入的阶跃信号
plt.plot(T, u, label="Step Input", linestyle="--")  # 阶跃输入信号，使用虚线表示
plt.xlabel("Time(s)")
plt.ylabel("Output")
plt.legend(loc="best")  # 图例位置
plt.grid(True)
plt.show()
